#include<bits/stdc++.h>
using namespace std;
#define xyf main
#define maxn 1005

int t,n,dp[maxn],w,c;
int xyf()
{
	cin>>n>>t;
	for(int i=1;i<=n;++i)
	{
		cin>>c>>w;
		for(int j=t;j>=w;--j)
			dp[j]=max(dp[j],dp[j-w]+c);
	}
	cout<<dp[t]<<endl;
	return 0;
}
